export {};
// 泛型： 动态类型
// 作用： 可以使用泛型来创建可重用的组件

function returnParams<U>(num: U): U {
  return num
}

const n = returnParams<number>(123)

const n1 = returnParams<boolean>(true)

const n2 = returnParams([true,123, { name: '张三' }, [[1, { age: 20 }]]])


// 泛型类
class Person<U, P> {
  name: U
  age: P
  constructor(name: U, age: P) {
    this.name = name
    this.age = age
  }
}

new Person<string, string>('张安', "20")



function f<U>(params: U): U {
  return params
}